package me.zingon.core.context.factory;

import java.io.Serializable;

public class SBeanDefinition implements Serializable {

    private static final long serialVersionUID = -61231230L;


    public static final String SCOPE_SINGLETON = "singleton";

    public static final String SCOPE_PROTOTYPE = "prototype";

    public static final String SCOPE_DEFAULT = "singleton";

    // bean在工厂中的bean name
    private String factoryBeanName;

    private String beanClassName;

    private String scope = SCOPE_DEFAULT;

    private Class<?> clazz;

    public SBeanDefinition(String factoryBeanName, String beanClassName) {
        this(factoryBeanName,beanClassName,SCOPE_DEFAULT);
    }

    public SBeanDefinition(String factoryBeanName, String beanClassName, String scope) {
        this(factoryBeanName,beanClassName,SCOPE_DEFAULT,null);
    }

    public SBeanDefinition(String factoryBeanName, String beanClassName, String scope,Class clazz) {
        this.factoryBeanName = factoryBeanName;
        this.beanClassName = beanClassName;
        this.scope = scope;
        this.clazz=clazz;
    }

    public String getFactoryBeanName() {
        return factoryBeanName;
    }

    public void setFactoryBeanName(String factoryBeanName) {
        this.factoryBeanName = factoryBeanName;
    }

    public String getBeanClassName() {
        return beanClassName;
    }

    public void setBeanClassName(String beanClassName) {
        this.beanClassName = beanClassName;
    }

    public String getScope() {
        return scope;
    }

    public void setScope(String scope) {
        this.scope = scope;
    }

    public Class<?> getClazz() {
        return clazz;
    }

    public void setClazz(Class<?> clazz) {
        this.clazz = clazz;
    }

}
